package com.hxd.tabactivityfragment.mvp.model

import com.hxd.tabactivityfragment.bean.UserBean
import com.hxd.tabactivityfragment.util.GsonToBean
import com.hxd.tabactivityfragment.util.URLProviderUtils
import com.kymjs.rxvolley.RxVolley
import com.kymjs.rxvolley.client.HttpCallback
import com.kymjs.rxvolley.client.HttpParams

/**
 *  项目名：    FoodOrigins
 *  包名：      com.hxd.tabactivityfragment.mvp.model
 *  文件名:     RegisterModel
 *  创建者:     HXD
 *  创建时间:   2019/3/31 16:36
 *  描述:       处理注册时的数据
 */

class RegisterModel {

    fun register(name:String, account:String, password:String, confirmPassword:String, onRegisterResultListener: OnRegisterResultListener){
        if (account.isNotEmpty() && password.isNotEmpty() && confirmPassword.isNotEmpty() && name.isNotEmpty()){
            if (password == confirmPassword){
                val params = HttpParams()
                params.put("name", name)
                params.put("account", account)
                params.put("password", password)
                RxVolley.post(URLProviderUtils.getIMPRegisterUrl(), params,object :HttpCallback(){
                    override fun onSuccess(t: String?) {
                        val data = GsonToBean.JsonToBean<UserBean>(t)
                        if (data.code == 1){
                            onRegisterResultListener.registerSuccess(data)
                        }else{
                            onRegisterResultListener.registerFailure(data.msg)
                        }
                    }
                    override fun onFailure(errorNo: Int, strMsg: String?) {
                        onRegisterResultListener.registerFailure(strMsg!!)
                    }
                })
            }else{
                onRegisterResultListener.registerFailure("两次密码输入不一致")
            }
        }else{
            onRegisterResultListener.registerFailure("注册信息不能为空")
        }

    }

    //回调接口
    interface OnRegisterResultListener {
        /**
         * 注册成功返回userBean对象
         */
        fun registerSuccess(user: UserBean)

        /**
         * 注册失败返回消息提示
         */
        fun registerFailure(msg:String)
    }
}